/**
 * 项目名：	Rumba Plan
 * 
 * 版权所有(C)，上海海鼎信息工程股份有限公司，2007，所有权利保留。
 * 
 * 文件名：	ReportProviderFactory.java
 * 模块说明：	
 * 修改历史：
 * Jun 8, 2007 - zhangyanbo - 创建。
 */
package com.hd123.rumba.report;

import java.util.ArrayList;
import java.util.List;

/**
 * 报表工厂
 * <p>
 * 
 * 管理报表。
 * 
 * @author zhangyanbo
 * 
 */
public class ReportFactory {

  private static List<IReportProvider> providers = new ArrayList<IReportProvider>();

  public static void registerProvider(IReportProvider provider) throws Exception {
    if (providers.indexOf(provider) < 0)
      providers.add(provider);
  }

  public static IReportProvider getProvider(String id) throws Exception {
    for (int i = 0; i < providers.size(); i++)
      if (providers.get(i).getId().equals(id))
        return providers.get(i);
    throw new Exception("未注册报表 " + id);
  }
}
